// pages/task/task.js
const request = require('../../utils/promise.js');
Page({
  /**
   * 页面的初始数据
   */
  data: {
    page: 0,
    pageSize: 16,
    taskList: [],
    projectId: null, // 项目所在任务列表使用
    canIAddTask: false,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      projectId: options.projectId? options.projectId: null,
      projectName: options.projectName? options.projectName: null
    });
  },

  /**
   * 请求获取用户是否有 添加任务的权限
   */
  reqCanIAddTask() {
    // 当前用户初始化
    let param = {userId: wx.getStorageSync('userId')}
    if (this.data.projectId) {
      param['projectId'] = this.data.projectId;
    }
    request.GET("/user/checkAddTask", param).then(res => {
      // console.log(res)
      if (res.data.resCode==200) {
        this.setData({
          canIAddTask: res.data.canIAdd
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.reqTaskPageListData();
    this.reqCanIAddTask();
  },

  /**
   * 下拉刷新
   */
  onPullDownRefresh() {
    this.reqCanIAddTask();
    this.setData({
      page: 0,
      taskList: []
    })
    this.reqTaskPageListData();
    wx.stopPullDownRefresh();
  },

  /**
   * 上拉加载
   */
  onReachBottom() {
    this.reqTaskPageListData();
  },

  /**
   * 分页加载任务列表数据
   */
  reqTaskPageListData() {
    let param = {page: this.data.page, pageSize: this.data.pageSize}
    if (this.data.projectId) {
      param['projectId'] = this.data.projectId
    }
    request.GET('/task/pageList', param).then(res => {
      // console.log(res)
      if (res.data.resCode==200) {
        let currPage = this.data.page
        if (res.data.taskList.length!=0) {
          currPage++;
        }
        let tempArr = this.data.taskList
        tempArr = tempArr.concat(res.data.taskList);

        this.setData({
          page: currPage,
          taskList: tempArr
        })
      } else {
        wx.showToast({
          title: '加载异常',
          icon: 'error'
        })
      }
    })
  },

  /**
   * 页面被用户分享时执行
   */
  onShareAppMessage() {
    return {
      title: '任务'
    }
  },

  /**
   * 分享到朋友圈
   */
  onShareTimeline() {
    return {
      title: '任务'
    }
  },

  /**
   * 点击跳转新建任务
   */
  gotoAddTask() {
    let url = '/pages/task_add/task_add';
    if (this.data.projectId) {
      url = '/pages/task_add/task_add?projectId='+ this.data.projectId;
    }
    wx.navigateTo({
      url: url,
    })
  },

  /**
   * 点击跳转打卡页面
   */
  gotoWorkSigned() {
    wx.navigateTo({
      url: '/pages/signed_list/signed_list',
    })
  },

  /**
   * 跳转任务详情
   */
  gotoTaskDetail(e) {
    wx.navigateTo({
      url: '/pages/task_detail/task_detail?id='+ e.currentTarget.dataset.id,
    })
  },

})